In computers and other data handling systems, it is sometimes desirable to partition parts of the system from one another. “Partitioning” denotes an arrangement in which a larger system is divided into parts that are not totally isolated, but in which access from one partition to another is restricted. Partitioning may, for example, be used to reduce the risk that a malfunction in one partition will interfere with the working of another partition. Partitioning may, for example, be used to reduce the risk that malicious activity in one partition can interfere with other partitions. Partitioning may, for example, be used to simplify programming, by enabling a programmer to ignore the existence of other partitions.
However, for some purposes it may be necessary or desirable for different partitions to communicate. Communication may then be arranged to take place without unduly weakening the partitioning.